iT邦幫忙

2022 iThome 鐵人賽

DAY 2
0
自我挑戰組

C# 和 SQL 探索之路系列 第 2

Day 2: C# 關鍵字: read only 和 const

  • 分享至 

  • xImage
  •  

嗨,今天要講的一樣是 C# 關鍵字 ~

我們都常在程式碼中看到 readonlyconst,從字面上來看,兩個關鍵字都帶有「無法修改」的意味,但實際上它們分別有以下的特色:

const 的特色是:

  • 只能在宣告時指定數值
  • 宣告以後不能再修改數值
  • 必須為基本型別 (如 int) 或字串

在編譯時就會直接取代原本使用到 const 常數的地方。適合用在需要效率,或是數值完全不更動的情況。

readonly 的特色為:

  • 只能在宣告時,或建構子內指定數值
  • 建構子執行完畢後,無法再修改內容 (但是在建構子內是可以修改的)
  • 跟一般變數一樣可以是任意型別 (物件也可以)

由於在編譯時仍然是變數,在初始化時可以再重新指定數值,因此較具備使用上的彈性。

牛刀小試 …

public class Program
{
    public class book{
        public int pages;
        
        public book(int p){
            this.pages = p;    
        }
    }
    
    public static readonly book a = new book(150); // 可以在初始化時、建構子內指定數值
    
    public static void Main()
    {
        // a = new book(200); // 不能修改
        Console.WriteLine(a.pages);
    }
}

(上述部分內容為參考資料的文字,並重新改寫)
參考資料:C# - const vs static readonly - John Wu's Blog


上一篇
Day 1: 前言 & C# 關鍵字: out var
下一篇
Day 3: C# 關鍵字: is
系列文
C# 和 SQL 探索之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言